package com.lianjia.sh.se.esb.client.sender;


import com.lianjia.sh.se.esb.spi.model.Message;

/**
 *
 * @author yangjiangping
 * @since 2016 -07-15 16:03
 */
public interface MessageSender {
    /**
     * 异步发送消息
     *
     * 业务与调用发送操作异步
     *  @param message 消息
     * @author yangjiangping
     * @since 2016 -07-15 16:03
     */
    public void sendMQMsgAsync(Message message);

    /**
     * 同步发送消息
     *
     * 业务与调用发送操作同步，业务与消息消费者后续操作仍然为异步（因为使用mq）
     *
     * @param message 消息
     * @author yangjiangping
     * @since 2016 -07-15 16:03
     */
    public void sendMQMsg(Message message);

    /**
     * 同步发送消息
     *
     * 直接通过api调用发送，全程同步，立即生效
     *
     * @param message 消息
     * @author yangjiangping
     * @since 2016 -07-15 16:03
     */
    public void sendApiMsg(Message message);

    public void sendKafkaMsg(Message message);
}
